/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.delogic.simuladorbancario.main;

import java.util.Scanner;

/**
 *
 * @author julioVanni
 */
public class Termometro {
    
    private String descricao;
    private int temperatura;
    private final int TEMPERATURA_MIN = - 20;
    private final int TEMPERATURA_MAX = 100;

    public static void main(String[] args){
    
        Termometro termometro = new Termometro();
       
        termometro.lerDescricao();
        termometro.lerTemperatura();
        System.out.println(termometro.toString());
        //System.out.println("Temperatura em Fahrenheit: " + termometro.getTemperaturaEmFahrenheit() + ". E Temperatura em Kelvin: " + termometro.getTemperaturaEmKelvin());
        
    }
    
    public String getDescricao() {
        return descricao;
    }

    public int getTemperatura() {
        return temperatura;
    }

    public void setDescricao(String descricao) { 
        this.descricao = descricao;
        System.out.println("Descrição temperatura: " + descricao);
    }

    public void setTemperatura(int temperatura) {
        
        if (temperatura < TEMPERATURA_MIN){
            System.out.println("Temperatura abaixo do mínimo. Temperatura mínima: " + TEMPERATURA_MIN);
        } else if (temperatura > TEMPERATURA_MAX){
            System.out.println("Temperatura acima do máximo. Temperatura máxima: " + TEMPERATURA_MAX);
        } else {
            this.temperatura = temperatura;
            System.out.println("Temperatura confirmada: " + temperatura);
         }
    }
    
    public void lerDescricao(){
        
        Scanner leitorConsole = new Scanner(System.in);
        System.out.println("Informe a descrição da temperatura: ");
        String descricaoTemp = leitorConsole.next();
        setDescricao(descricaoTemp);
 
    }
    
    public void lerTemperatura(){
        
        Scanner leitorConsole = new Scanner(System.in);
        System.out.println("Informe a temperatura: ");
        int temp = leitorConsole.nextInt();
        setTemperatura(temp);
    }
 
    public String toString(){
        
        StringBuilder temperaturas = new StringBuilder();
        
        temperaturas.append("Celsius: ");
        temperaturas.append(temperatura);
        temperaturas.append(" Fahrenheit: ");
        temperaturas.append(getTemperaturaEmFahrenheit());
        temperaturas.append(" kelvin: ");
        temperaturas.append(getTemperaturaEmKelvin());
        
        
        return temperaturas.toString();
    }

    public double getTemperaturaEmFahrenheit(){
        double tempFahrenheit = ((temperatura * 1.8) + 32);
        return tempFahrenheit;
    }
   
    public double getTemperaturaEmKelvin(){
        float tempKelvin = (float) (temperatura + 273.15);
        return tempKelvin;
    }
    
}
